package com.tnxst.phexamination.dto;

import androidx.annotation.NonNull;
import androidx.room.ColumnInfo;
import androidx.room.Entity;
import androidx.room.PrimaryKey;

import java.io.Serializable;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Entity
@Data
@NoArgsConstructor
@AllArgsConstructor
public class TbFirstFollowDTO implements Serializable {
    /**
     * 服药后不良反应及处理
     */
    @ColumnInfo
    private String AdverseDrugReactions;

    /**
     * 单独的居室(1 有，2 无)
     */
    @ColumnInfo
    private String AlongBedroom;

    /**
     * 通风情况(1 良好，2 一般，4 差)
     */
    @ColumnInfo
    private String AreationType;

    /**
     * 密切接触者检查
     */
    @ColumnInfo
    private String ContactsExam;

    /**
     * 医生ID
     */
    @ColumnInfo
    private String DoctorID;

    /**
     * 医生名称
     */
    @ColumnInfo
    private String DoctorName;

    /**
     * 服药记录卡的填写
     */
    @ColumnInfo
    private String DrugCardFill;

    /**
     * 服药方法及药品存放
     */
    @ColumnInfo
    private String DrugCardStore;

    /**
     * 耐药情况(1 耐药，2 非耐药，4未检测)
     */
    @ColumnInfo
    private String DrugFastType;

    /**
     * 不规律服药危害
     */
    @ColumnInfo
    private String DrugHarm;

    /**
     *
     */
    @ColumnInfo
    private String FollowUpDate;

    /**
     *
     */
    @PrimaryKey
    @NonNull
    private String ID;

    /**
     * 生活习惯及注意事项
     */
    @ColumnInfo
    private String LivingPrecautions;

    /**
     * 下次目标饮酒量
     */
    @ColumnInfo
    private String NextDailyAlcohol;

    /**
     *
     */
    @ColumnInfo
    private String NextFollowUpDate;

    /**
     * 下次目标吸烟量
     */
    @ColumnInfo
    private String NextSmoking;

    /**
     * 外出期间如何坚持服药
     */
    @ColumnInfo
    private String OutdoorMedication;

    /**
     * 患者类型(1 初治，2 复治)
     */
    @ColumnInfo
    private String PatientType;

    /**
     * 取药时间
     */
    @ColumnInfo
    private String PecipeDate;

    /**
     * 取药地点
     */
    @ColumnInfo
    private String RecipePlace;

    /**
     * 痰菌情况(1 阳性，2 阴性，4 未查痰)
     */
    @ColumnInfo
    private String SputumType;

    /**
     * 督导人员选择(1 医生，2 家属，4 自服药，8 其他)
     */
    @ColumnInfo
    private String Supervisor;

    /**
     * 症状(1 没有症状，2 咳嗽咳痰，4 低热盗汗，8 咯血或血痰，16 胸痛消瘦，32 恶心纳差，64 头痛失眠，128 视物模糊，256 皮肤瘙痒、皮疹，512 耳鸣、听力下降，1024 其他)
     */
    @ColumnInfo
    private String Symptom;

    /**
     * 结核病基本信息ID
     */
    @ColumnInfo
    private String TbBaseID;

    /**
     * 肺结核治疗疗程
     */
    @ColumnInfo
    private String TbTreatment;

    /**
     * 治疗期间复诊查痰  1    2
     */
    @ColumnInfo
    private String TreatementSputum;

    /**
     * 随访方式(1 门诊，2 家庭)
     */
    @ColumnInfo
    private String WayUp;

    /**
     * 化疗方案
     */
    @ColumnInfo
    private String ChemotherapyRegimen;

    /**
     * 药品剂型(1 固定剂量复合制剂，2 散装药，4 板式组合，8注射剂)
     */
    @ColumnInfo
    private String Dosage;

    /**
     * 用法(1 每日，2 间歇)
     */
    @ColumnInfo
    private String Usage;

    /**
     * 日饮酒量
     */
    @ColumnInfo
    private String DailyAlcoholIntake;

    /**
     * 日吸烟量
     */
    @ColumnInfo
    private String Smoking;

    /**
     * 病人ID
     */
    @ColumnInfo
    private String patientId;

    /**
     * 病人名称
     */
    @ColumnInfo
    private String patientName;


    @ColumnInfo
    private boolean isUpload;

    /**
     * JSON
     */
    @ColumnInfo
    private String otherJson;

    /**
     * 随访是否完成  0 未完成  1 已完成
     */
    @ColumnInfo
    private Integer isFinish = 0;
    
    /**
     * 定位地址
     */
    @ColumnInfo
    private String address;

    /**
     * 拍照图片路径1
     */
    @ColumnInfo
    private String picturePath1;

    /**
     * 拍照图片路径2
     */
    @ColumnInfo
    private String picturePath2;

    /**
     * 拍照图片路径3
     */
    @ColumnInfo
    private String picturePath3;
}
